<?php
/** 
 *  @author VGireev 
 *	@REVISION:  $Id: Controller.php 11 2011-12-18 12:52:37Z host.xserver@gmail.com $
 *  @brief Файл класса Controller
 *  © myCompany 2011
 *
 *  базовый класс контроллера.
 *  
 */
abstract class Controller
{
	// конструктор.
	function __construct()
	{		
	}
/* ===================================================================== */		
	// полная обработка HTTP запроса.
	public function Request()
	{
		$this->OnInput();
		$this->OnOutput();
	}
/* ===================================================================== */		
	// виртуальный обработчик запроса.
	protected function OnInput()
	{
	}
	// виртуальный генератор HTML.
	protected function OnOutput()
	{
	}
/* ===================================================================== */		
	// запрос произведен методом GET?
	protected function IsGet()
	{
		return $_SERVER['REQUEST_METHOD'] == 'GET';
	}
/* ===================================================================== */		
	// запрос произведен методом POST?
	protected function IsPost()
	{
		return $_SERVER['REQUEST_METHOD'] == 'POST';
	}
/* ===================================================================== */		
	// генерация HTML шаблона в строку.
	protected function View($fileName, $vars = array())
	{
		foreach ($vars as $k => $v) 
			$$k = $v;
	
		ob_start(); 
		include "$fileName"; 
		return ob_get_clean(); 	
	}
/* ===================================================================== */		
}
